'\" te
.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
.\"  See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with
.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH SERVICE_BUNDLE 5 "Mar 6, 2009"
.SH NAME
service_bundle \- service manifest file format
.SH SYNOPSIS
.LP
.nf
\fB/usr/share/lib/xml/dtd/service_bundle.dtd.1\fR
.fi

.SH DESCRIPTION
.sp
.LP
The service management facility, described in \fBsmf\fR(7), utilizes an
XML-based file format to marshal the description of a set of services or
service instances between systems. This file is known as a service bundle. The
primary form of a service bundle is the inventory of services that are provided
by a package, which is called a \fBservice manifest\fR.
.sp
.LP
The DTD describing the \fBservice_bundle\fR is provided at
\fB/usr/share/lib/xml/dtd/service_bundle.dtd.1\fR. The attributes and tags are
fully described in the commented DTD. The services supplied with the operating
system, stored under \fB/var/svc/manifest\fR, provide examples of correctly
formed service descriptions.
.sp
.LP
\fBservice_bundle\fR documents can also use the XML Inclusions (\fBXInclude\fR)
facility to merge multiple documents into one. A \fBservice_bundle\fR document
manipulator must therefore support the functionality defined by the XInclude
specification.
.sp
.LP
A complete service description consists of the following:
.RS +4
.TP
.ie t \(bu
.el o
A set of properties that identify the service and identify its restarter
.RE
.RS +4
.TP
.ie t \(bu
.el o
A set of properties that identify each instance
.RE
.RS +4
.TP
.ie t \(bu
.el o
A set of framework property groups that describe the framework's understanding
of each instance
.RE
.RS +4
.TP
.ie t \(bu
.el o
A set of method property groups as required by \fBsvc.startd\fR(8), or by a
delegated restarter
.RE
.RS +4
.TP
.ie t \(bu
.el o
Additional optional method property groups
.RE
.RS +4
.TP
.ie t \(bu
.el o
A set of dependency property groups
.RE
.RS +4
.TP
.ie t \(bu
.el o
An optional group of properties that indicate services to which dependencies on
the described service were added
.RE
.RS +4
.TP
.ie t \(bu
.el o
A set of application property groups or application-specific typed property
groups containing application configuration data
.RE
.RS +4
.TP
.ie t \(bu
.el o
A template that describes supporting information about this service, such as a
description, links to documentation, and metadata about property groups and
properties.
.RE
.sp
.LP
The document type definition for the service bundle provides markup to define
each of these aspects of a service description, as well as a number of entities
that identify regular features in describing a service, such as the
\fB<create_default_instance>\fR tag.
.SS "Manifest Handling During Packaging Operations"
.sp
.LP
Service manifests within packages should be identified with the class
\fBmanifest\fR. Class action scripts that install and remove service manifests
are included in the packaging subsystem. When \fBpkgadd\fR(8) is invoked, the
service manifest is imported.
.sp
.LP
When \fBpkgrm\fR(8) is invoked, instances in the manifest that are disabled
are deleted. Any services in the manifest with no remaining instances are also
deleted.
.sp
.LP
If the \fB-R\fR option is supplied to \fBpkgadd\fR(8) or \fBpkgrm\fR(8), the
actions described in this section are done when the system is next rebooted
with that alternate root path.
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Stability	Committed
.TE

.SH SEE ALSO
.sp
.LP
.BR libscf (3LIB),
.BR attributes (7),
.BR locale (7),
.BR smf (7),
.BR smf_method (7),
.BR smf_template (7),
.BR pkgadd (8),
.BR pkgrm (8),
.BR svc.startd (8),
.BR svcadm (8),
.BR svccfg (8)
.SH NOTES
.sp
.LP
Nested \fBservice_bundle\fR elements must be of the same type.
